package cn.vawn.exam.mapper;

import cn.vawn.exam.entity.Questions;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface QuestionsMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Questions record);

    int insertSelective(Questions record);

    Questions selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Questions record);

    int updateByPrimaryKey(Questions record);

    /*
     * 查询所有的问题的部分内容
	 */
    List<Map<String, Object>> selectAllQuestionsPart();

    /*
     * 根据条件查询问题的部分内容
     */
    List<Map<String, Object>> selectAllQuestionsPartByCondition(
            @Param("content") String content,
            @Param("classType") String classType,
            @Param("startTime") Date startTime,
            @Param("endTime") Date endTime
    );

    /*
     * 获取所有问卷的类型
     */
    List<String> selectAllClassType();

    /*
	 * 根据id删除一条数据
	 */
    void deleteByQuestionsId(int id);

    /*
     * 根据id更新一条数据
     */
    void uodateByQuestionsId(Questions questions);

    /*
     * 插入一条数据
     */
    int insertQuestions(Questions questions);

    /*
     * 根据id查询AnswerIds
     */
    Questions selectAnswerIdsByQuestionsId(int questionsId);

    /*
     * 根据id查询数据
     */
    Questions selectQuestionByQuestionsId(int questionsId);

    /*
     * 批量查询数据
     */
    List<Questions> batchSelectQuestions(List<Integer> questionIds);

    /*
     * 批量更新数据
     */
    void batchUpdateQuestions(List<Questions> questions);
}